From 5b6313f16f508882a0ea67716b7dbaa1c6967f04 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Mon, 30 Jun 2025 08:28:13 +0000 Subject: (대표님) 20250630 16시 - 유저 도메인별 라우터 분리와 보안성검토 대응 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../(engineering)/tech-project-avl/page.tsx | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 app/[lng]/engineering/(engineering)/tech-project-avl/page.tsx (limited to 'app/[lng]/engineering/(engineering)/tech-project-avl/page.tsx') diff --git a/app/[lng]/engineering/(engineering)/tech-project-avl/page.tsx b/app/[lng]/engineering/(engineering)/tech-project-avl/page.tsx new file mode 100644 index 00000000..d942c5c5 --- /dev/null +++ b/app/[lng]/engineering/(engineering)/tech-project-avl/page.tsx @@ -0,0 +1,85 @@ +import * as React from "react" +import { redirect } from "next/navigation" +import { getServerSession } from "next-auth/next" +import { authOptions } from "@/app/api/auth/[...nextauth]/route" +import { SearchParams } from "@/types/table" +import { searchParamsCache } from "@/lib/tech-project-avl/validations" +import { Skeleton } from "@/components/ui/skeleton" +import { Shell } from "@/components/shell" +import { AcceptedQuotationsTable } from "@/lib/tech-project-avl/table/accepted-quotations-table" +import { getAcceptedTechSalesVendorQuotations } from "@/lib/techsales-rfq/service" +import { getValidFilters } from "@/lib/data-table" +import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton" +import { Ellipsis } from "lucide-react" + +export interface PageProps { + params: Promise<{ lng: string }> + searchParams: Promise +} + +export default async function AcceptedQuotationsPage({ + params, + searchParams, +}: PageProps) { + const { lng } = await params + + const session = await getServerSession(authOptions) + if (!session) { + redirect(`/${lng}/auth/signin`) + } + + const search = await searchParams + const { page, perPage, sort, filters, search: searchText } = searchParamsCache.parse(search) + const validFilters = getValidFilters(filters ?? []) + + const { data, pageCount } = await getAcceptedTechSalesVendorQuotations({ + page, + perPage: perPage ?? 10, + sort, + search: searchText, + filters: validFilters, + }) + + return ( + +
+
+
+

+ 승인된 견적서(해양TOP,HULL) +

+

+ 기술영업 승인 견적서에 대한 요약 정보를 확인하고{" "} + + + 버튼 + + 을 통해 RFQ 코드, 설명, 업체명, 업체 코드 등의 상세 정보를 확인할 수 있습니다. +

+
+
+
+ + }> + {/* Date range picker can be added here if needed */} + + + + } + > + + +
+ ) +} -- cgit v1.2.3